package com.kll.carolinehmibiz.presentation.listener

import com.kll.carolinehmibiz.net.bean.DownloadFileProgress
import com.kll.carolinehmibiz.net.bean.GetAppNewlyVersionResponse
import com.kll.carolinehmibiz.net.bean.GetSystemMenuResponse

interface MainProtocol {

    interface IView {
        fun loadMenuFailed(code: Int, message: String)
        fun loadMenuSuccessed(menus: List<GetSystemMenuResponse>)

        // 有新版本
        fun getAppNewlyVersionTrue(versionInfo: GetAppNewlyVersionResponse)
        // 无新版本
        fun getAppNewlyVersionFalse()
        // 获取最新App版本信息失败
        fun getAppNewlyVersionFailed(code: Int, message: String)
        // 下载文件成功
        fun downloadFileSuccessed(data: DownloadFileProgress, savePath: String)
        // 下载文件失败
        fun downloadFileFailed(message: String)
    }

    interface IPresenter{
        // 获取用户信息
        fun loadSystemMenu()
        // 获取最新App版本信息
        fun getAppNewlyVersion()
        // 下载文件
        fun downloadFile(url: String, savePath: String)
        // 打开apk安装界面
        fun openInstallPage(apkPath: String)
    }

}